package condominio.servlet.cuota;

import java.io.IOException;
import javax.swing.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import condominio.excepcion.DAOExcepcion;
import condominio.modelo.Cuota;
import condominio.negocio.condominioNegocio;

@WebServlet("/GrabarCuotaServlet")
public class GrabarCuotaServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	public GrabarCuotaServlet() {
		super();
		// TODO Auto-generated constructor stub
	}

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String strPer = request.getParameter("fldperiodo");
		String strViv = request.getParameter("fldidvivienda");
		int intViv = Integer.parseInt(strViv);
		String strImp = request.getParameter("fldimporte");
		String strFecVcto = request.getParameter("fldfechavencimiento");
/*		ManejoFechas objManejoFechas = new ManejoFechas();
		if (objManejoFechas.isDate(strFecVcto)) {
			System.out.println("RegistroCuotasServlet - Formato invalido de fecha. No se registrara la cuota");
			JOptionPane.showMessageDialog(null, "Formato invalido de fecha. No se registrara la cuota");
		}
		else{*/
			strImp.replaceAll(" ", "");
			double dblImp = Double.parseDouble(strImp);
			Cuota objCuotaAsigna = new Cuota();
			objCuotaAsigna.setStrPeriodo(strPer);
			objCuotaAsigna.setIntVivienda(intViv);
			objCuotaAsigna.setNumImporte(dblImp);
			objCuotaAsigna.setStrFechaVcto(strFecVcto);

			condominioNegocio negocio = new condominioNegocio();
			try {
				int intResultado = 0;
				intResultado = negocio.registrarNuevaCuota(objCuotaAsigna);
				System.out.println("Dentro de doPost en GrabarCuotaServlet - valor " + intResultado);
				
				if (intResultado == 0) {
					JOptionPane.showMessageDialog(null, "Se ha registrado correctamente la Cuota Periodo: " + strPer + " - Vivienda:" + intViv);
				} 
				if (intResultado == 1) {
					JOptionPane.showMessageDialog(null, "No se pudo insertar. Error desconocido.");
				}
				if (intResultado == 2) {
					JOptionPane.showMessageDialog(null, "No se pudo insertar. Ya existe una cuota registrada para esta Vivienda en el Periodo especificado.");
				}
				response.sendRedirect(request.getContextPath() + "/RegistroCuotasServlet");
				
			} catch (DAOExcepcion e) {
				RequestDispatcher rd = request.getRequestDispatcher("error.jsp");
				rd.forward(request, response);
			}
//		}
	}

}
